home *** CD-ROM | disk | FTP | other *** search
/ HTBasic 9.3 / HTBasic 9.3.iso / SICL / data1.cab / sicl32 / c / samples / misc / gpibstat.c < prev    next >
Encoding:
C/C++ Source or Header  |  2001-03-02  |  1.8 KB  |  55 lines

  1. /* gpibstat.c
  2.    The following example retrieves and displays
  3.    GPIB bus status information.
  4. */
  5.  
  6. #include <stdio.h>
  7. #include <sicl.h>
  8.  
  9. main()
  10. {
  11.    INST id;                 /* session id        */
  12.    int rem;                 /* remote enable     */
  13.    int srq;                 /* service request   */
  14.    int ndac;                /* not data accepted */
  15.    int sysctlr;             /* system controller */
  16.    int actctlr;             /* active controller */
  17.    int talker;              /* talker            */
  18.    int listener;            /* listener          */
  19.    int addr;                /* bus address       */
  20.  
  21.    #if defined(__BORLANDC__) && !defined(__WIN32__)
  22.       _InitEasyWin();   // required for Borland EasyWin programs
  23.    #endif
  24.  
  25.    /* exit process if SICL error detected */
  26.    ionerror(I_ERROR_EXIT);
  27.  
  28.    /* open GPIB interface session */
  29.    id = iopen("hpib7");
  30.    itimeout (id, 10000);
  31.  
  32.    /* retrieve GPIB bus status */
  33.    igpibbusstatus(id, I_GPIB_BUS_REM,      &rem);
  34.    igpibbusstatus(id, I_GPIB_BUS_SRQ,      &srq);
  35.    igpibbusstatus(id, I_GPIB_BUS_NDAC,     &ndac);
  36.    igpibbusstatus(id, I_GPIB_BUS_SYSCTLR,  &sysctlr);
  37.    igpibbusstatus(id, I_GPIB_BUS_ACTCTLR,  &actctlr);
  38.    igpibbusstatus(id, I_GPIB_BUS_TALKER,   &talker);
  39.    igpibbusstatus(id, I_GPIB_BUS_LISTENER, &listener);
  40.    igpibbusstatus(id, I_GPIB_BUS_ADDR,     &addr);
  41.  
  42.    /* display bus status */
  43.    printf("%-5s%-5s%-5s%-5s%-5s%-5s%-5s%-5s\n", "REM", "SRQ",
  44.          "NDC", "SYS", "ACT", "TLK", "LTN", "ADDR");
  45.    printf("%2d%5d%5d%5d%5d%5d%5d%6d\n", rem, srq, ndac, 
  46.           sysctlr, actctlr, talker, listener, addr);
  47.  
  48. /* For WIN16 programs, call _siclcleanup before exiting to release
  49.    resources allocated by SICL for this application.  This call
  50.    is a no-op for WIN32 programs. */
  51.    _siclcleanup();
  52.  
  53.    return 0;
  54. }
  55.